﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Ext.Net;
using Sio.Mdm.Entities;
using Sio.Mdm.Client;
using Sio.Mdm.BF.Sifranti;
using Sio.Mdm.Types;
using System.Collections.Generic;
using Sio.Mdm.Types.Database;

namespace Sio.Mdm.Web.Uporabnik
{
  public partial class Akter : Controls.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      if (!IsPostBack && !X.IsAjaxRequest)
      {
        //preberemo IDM številko
        int Idm = getInputInteger("idm");
        if (Idm < 0)
        {
          Idm = this.UserSession.IdmStevilka;
        }
        int OrganizacijaId = 0;

		UporabniskiRacun xUporabnik = EntityFactory.LoadEntity<UporabniskiRacun>
			(new Filter<UporabniskiRacun>().Where(r => r.IdmStevilka == Idm)
		);

		if (xUporabnik.EntityState != EntityState.Unknown)
        {
          this.tfIme.Value = xUporabnik.Ime;
          this.tfPriimek.Value = xUporabnik.Priimek;
          this.cbSpol.SelectedIndex = xUporabnik.Spol;
          OrganizacijaId = xUporabnik.OrganizacijaId;

		  Sio.Mdm.Types.Database.Organizacija xOrganizacija = EntityFactory.LoadEntity<Sio.Mdm.Types.Database.Organizacija>
			(new Filter<Sio.Mdm.Types.Database.Organizacija>().Where(r => r.OrganizacijaId == OrganizacijaId)
		  );
		  if (xOrganizacija.EntityState != EntityState.Unknown)
		  {
            this.tfOrganizacija.Value = xOrganizacija.Naziv;
          }
        }
        //nastavimo tip vloge
        int tipVloge = 0;
        int vlogaId = 0;
		EntityCollection<Vloga> vloge = new EntityCollection<Vloga>(
		  new Filter<Vloga>().Where(r => (r.IdmStevilka == Idm) && (r.OrganizacijaId == OrganizacijaId)));

        if (vloge.Count > 1)
        {
          TabUporabnik.Urls.Add(String.Format("VlogeSeznam.aspx?idm={0}", Idm));
        }
        else if (vloge.Count == 1)
        {
          tipVloge = vloge[0].TipVlogeId;
          vlogaId = vloge[0].VlogaId;
        }

        //Naložimo zavihke
        switch (tipVloge)
        {
                //administrator
                /*
          case 1:
                TabUporabnik.Urls.Add(String.Format("VlogeSeznam.aspx?idm={0}", Idm));
            break;
                 */
          case 2:
            this.TabUporabnik.Urls.Add(String.Format("Stars.aspx?vlogaid={0}", vlogaId));
            break;
          case 3:
            this.TabUporabnik.Urls.Add(String.Format("UceciPodrobnosti.aspx?vlogaid={0}", vlogaId));
            break;
          case 4:
            this.TabUporabnik.Urls.Add(String.Format("UciteljPodrobnosti.aspx?vlogaid={0}", vlogaId));
            break;
          case 5:
            this.TabUporabnik.Urls.Add(String.Format("NepedagoskiKader.aspx?vlogaid={0}", vlogaId));
            break;
          default:
            TabUporabnik.Urls.Add(String.Format("VlogeSeznam.aspx?idm={0}", Idm));
            break;
        }

      }
    }
  }
}
